home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 3 / BBS in a box - Trilogy III.iso / Files / Tele / Internet / NewsWatch Folder / headers / TCPRoutines.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-04-03  |  5.5 KB  |  111 lines  |  [TEXT/MPS ]

  1.  
  2. #ifndef _TCPROUTINES_
  3. #define _TCPROUTINES_
  4.  
  5. OSErr OpenTCPDriver(void);                /* opens the MacTCP driver */
  6.  
  7. OSErr LowKillTCP(                        /* kills a pending MacTCP driver call        */
  8.     TCPiopb *pBlock);
  9.  
  10. OSErr LowTCPCreateStream(                /* creates a MacTCP stream                     */
  11.     StreamPtr *streamPtr,                    /* stream created (returned)            */
  12.     Ptr connectionBuffer,                    /* pointer to connection buffer            */
  13.     unsigned long connBufferLen,            /* length of connection buffer            */
  14.     TCPNotifyProc notifPtr);                /* address of Async. Notification Rtn.    */
  15.     
  16. OSErr LowTCPWaitForConnection(            /* listens for a TCP connection to be opened*/
  17.     StreamPtr streamPtr,                    /* stream pointer for connection        */
  18.     byte timeout,                            /* timeout for listen                    */
  19.     ip_addr *remoteHost,                    /* remote host to listen for (returned)    */
  20.     tcp_port *remotePort,                    /* remote port to listen on (returned)    */
  21.     ip_addr *localHost,                        /* local host number (returned)            */
  22.     tcp_port *localPort,                    /* local port to listen on (returned)    */
  23.     Boolean async,                            /* true if call to be made async        */
  24.     TCPiopb **returnBlock);                    /* address of parameter block used        */
  25.  
  26. OSErr LowFinishTCPWaitForConn(            /* called when LowTCPWaitForConn. completes    */
  27.     TCPiopb *pBlock,                        /* parameter block used for wait call    */
  28.     ip_addr *remoteHost,                    /* remote host connected to (returned)    */
  29.     tcp_port *remotePort,                    /* remote port connected to (returned)    */
  30.     ip_addr *localHost,                        /* local host- our ip number (returned)    */
  31.     tcp_port *localPort);                    /* local port connected to (returned)    */
  32.     
  33. OSErr LowTCPOpenConnection(                /* actively attempts to connect to a host    */
  34.     StreamPtr streamPtr,                    /* stream to use for this connection    */
  35.     byte timeout,                            /* timeout value for open                */
  36.     ip_addr remoteHost,                        /* ip number of host to connect to        */
  37.     tcp_port remotePort,                    /* tcp port number of host to connect to*/
  38.     ip_addr *localHost,                        /* local host ip number (returned)        */
  39.     tcp_port *localPort);                    /* local port number used for connection*/
  40.  
  41. OSErr LowTCPSendData(                    /* send data along an open connection        */
  42.     StreamPtr streamPtr,                    /* stream identifier to send data on    */
  43.     byte timeout,                            /* timeout for this send                */
  44.     Boolean push,                            /* true if "push" bit to be set            */
  45.     Boolean urgent,                            /* true if "urgent" bit to be set        */
  46.     Ptr wdsPtr,                                /* write data structure (len/data pairs)*/
  47.     Boolean async,                            /* true if call is to be asynchronous    */
  48.     TCPiopb **returnBlock);                    /* parameter block used (returned)        */
  49.     
  50. OSErr LowFinishTCPSend(                    /* called when TCPSendData completes        */
  51.     TCPiopb *pBlock);                        /* parameter block used in call            */
  52.  
  53. OSErr LowTCPRecvData(                    /* waits for data to be send on a TCP stream*/
  54.     StreamPtr    streamPtr,                    /* stream waiting for data on            */
  55.     byte        timeout,                    /* timeout for receive                    */
  56.     Boolean        *urgent,                    /* value of urgent flag (returned)        */
  57.     Boolean        *mark,                        /* value of mark flag (returned)        */
  58.     Ptr            rcvBuff,                    /* buffer to store received data        */
  59.     unsigned short *rcvLen,                    /* length of data received                */
  60.     Boolean     async,                        /* true if call is asynchronous            */
  61.     TCPiopb        **returnBlock);                /* parameter block used (returned)        */
  62.     
  63. OSErr LowFinishTCPRecv(                    /* called when LowTCPRecvData completes        */
  64.     TCPiopb        *pBlock,                    /* parameter block used in call            */
  65.     Boolean        *urgent,                    /* value of urgent flag (returned)        */
  66.     Boolean        *mark,                        /* value of mark flag (returned)        */
  67.     unsigned short *rcvLen);                /* length of data received                */
  68.     
  69. OSErr LowTCPNoCopyRcv(                    /* receives data & doesn't copy to ext. buf.*/
  70.     StreamPtr    streamPtr,                    /* stream waiting for data on            */
  71.     byte        timeout,                    /* timeout for receive                    */
  72.     Boolean        *urgent,                    /* value of urgent flag (returned)        */
  73.     Boolean        *mark,                        /* value of mark flag (returned)        */
  74.     Ptr            rdsPtr,                        /* pointer to read data struct data/len */
  75.     short        numEntry,                    /* number of entries in read data struct*/
  76.     Boolean        async,                        /* true if call is asynchronous            */
  77.     TCPiopb        **returnBlock);                /* parameter block used (returned)        */
  78.     
  79. OSErr LowFinishTCPNoCopyRcv(            /* called when LowTCPNoCopyRcv finishes        */
  80.     TCPiopb *pBlock,                        /* parameter block used    in call            */
  81.     Boolean *urgent,                        /* value of urgent flag (returned)        */
  82.     Boolean *mark);                            /* value of mark flag (returned)        */
  83.  
  84. OSErr LowTCPBfrReturn(                    /* returns a buffer used in LowTCPNoCopyRcv    */
  85.     StreamPtr    streamPtr,                    /* stream on which data was received    */
  86.     Ptr            rdsPtr);                    /* pointer to buffer (read data struct)    */
  87.     
  88. OSErr LowTCPClose(                        /* closes a connection on a given TCP stream*/
  89.     StreamPtr    streamPtr,                    /* stream identifier for connection        */
  90.     byte        timeout);                    /* timeout for close command            */
  91.     
  92. OSErr LowTCPAbort(                        /* aborts a TCP connection non-gracefully    */
  93.     StreamPtr streamPtr);                    /* stream identifier for connection        */
  94.     
  95. OSErr LowTCPRelease(                    /* releases a TCP connection stream            */
  96.     StreamPtr    streamPtr,                    /* stream to be released                */
  97.     Ptr            *recvPtr,                    /* connection buffer (returned)            */
  98.     unsigned long *recvLen);
  99.  
  100. OSErr LowTCPStatus(                        /* returns status information for a stream    */
  101.     StreamPtr    streamPtr,                    /* stream to get status of                */
  102.     TCPStatusPB    *theStatus);                /* status (see MacTCP manual for info)    */
  103.     
  104. OSErr LowTCPGlobalInfo(                    /* returns status information for all MacTCP*/
  105.     Ptr    *tcpParam,                            /* TCP parameters(returned) (see manual)*/
  106.     Ptr    *tcpStat);                            /* TCP statistics(returned) (see manual)*/
  107.  
  108. OSErr GetMyIP(                            /* get local IP address */
  109.     ip_addr *ipnum);                        /* ip address (returned) */
  110.  
  111. #endif _TCPROUTINES_